package IO.常见类使用;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.Serializable;

/**
 * @program: algorithm
 * @description: 逐行输出文本内容
 * @author: 陈恩涛
 * @create: 2022-09-15 23:18
 **/
public class CharacterStreamDemo implements Serializable {

    public static void main(String[] args) throws IOException {
        readFileContent("F:\\学习笔记\\algorithm\\java_base\\src\\IO\\常见类使用\\测试文件\\a.txt");

    }
    public static void readFileContent(String filePath) throws IOException {

        FileReader fileReader = new FileReader(filePath);
        BufferedReader bufferedReader = new BufferedReader(fileReader);

        String line;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }

        // 装饰者模式使得 BufferedReader 组合了一个 Reader 对象
        // 在调用 BufferedReader 的 close() 方法时会去调用 Reader 的 close() 方法
        // 因此只要一个 close() 调用即可
        bufferedReader.close();
    }

}
